** Data reading and variable selection from raw data
** 22/06/2017
** Taiwan Social Change Survey 2006


** 01. Reading data **
cap log close
clear all
set more off
cd /*insert work directory*/
unicode encoding set Big5 
unicode translate /*insert file name*/,invalid
use /*insert file name*/
save /*insert file name*/, replace
numlabel, add

cd /*insert work directory*/


** 02. Consructing year and country variables **

lab var year "survey year"

ge country=158
lab var country "ISO country code"
//Taiwan: 158 (see "ISO Country Codes.pdf) 


** 03. ID variables **

ge pid=id
lab var pid "person id"


** 04. Basic Demographics (Sex and Age/birth year) **

ge sex=a1
lab var sex "sex"
lab def sex 1 "male" 2 "female"
lab val sex sex

lab var age "age"

ge birthyr=1995-age
lab var birthyr "year of birth"


** 05. Siblings **

ge nbro=b31a+b31c
lab var nbro "number of brothers"
ge nsis=b31b+b31d
lab var nsis "number of sisters"

ge nsibs=nbro+nsis
lab var nsibs "number of siblings"

ge birthorder=b31a+b31b+1
lab var birthorder "birth order"

lab def nsibs 196 "don't know" 197 "no answer" 392 "no answer"
lab val nbro nsis nsibs birthorder nsibs


** 06. Own education **

//highest level of education obtained
ge educ=b1
lab var educ "highest education attained"

lab def educ 1 "no education" 2 "self-taught" 3 "primary school" 4 "junior school_normal" 5 "junior school_technical school" ///
6 "high school_normal" 7 "high school_technical subjects" 8 "high school_technical school" 9 "noncommissioned school" ///
10 "technical college_5 year" 11 "technical college_2 year" 12 "technical college_3 year" 13 "military and police training classes" ///
14 "Military and police specialist class" 15 "online_technical college" 16 "online_college" 17 "army police school" 18 "polytech" ///
19 "university" 20 "postgraduate" 21 "PhD" 22 "other" 96 "no answer" 97 "cannot remember" 98 "refuse to answer"

lab val educ educ


** 07. Parents' education: Father and/or Mother **

//highest education obtained
ge faeduc=a10
lab var faeduc "father highest education obtained"

ge moeduc=a11
lab var moeduc "mother highest education obtained"

lab val faeduc moeduc educ


** 08. Own occupation **

//employment status
ge empstat=k5
lab var empstat "employment status"

lab def empstat 1 "employeed_full time" 2 "employed_part-time" 3 "no fixed work" ///
4 "work for family business" 5 "unemployeed" 6 "unemployeed_student" 7 "retired" ///
8 "housewife" 9 "cannot work because too old/physical or mental disability/disease" 10 "other" ///
96 "no answer" 97 "don't know" 98 "refuse to anwer" 99 "not applicable"

lab val empstat empstat

//occupation
ge occ=k6b5
lab var occ "occupation in ISCO 4 digit codes"
lab def occ 9998 "refuse to answer" 9999 "not applicable"
lab val occ occ

//supervising other people?
ge sup=k6d
lab var sup "whether the respondent is supervising other people"
lab def sup 1 "yes" 2 "no" 98 "refuse to answer" 99 "not applicable"
lab val sup sup

//corporation size
ge orgsize=k6f
lab var orgsize "how many people are there in the company/organisation you work for"
lab def orgsize 99997 "don't know" 99998 "refuse to answer" 99999 "not applicable"
lab val orgsize orgsize


** 09. Parents' occupation **

//parents occupation not available


** 10. Tabulate the Identified Variables **

log using /*insert address*/, replace text

** Data reading and variable selection from raw data
** Taiwan social change survey 2006

** Sex **
tab sex

** Age, Birth Year **
sum age birthyr, d

** Siblings **
sum nsibs nbro nsis, d

** R's Own Education **
tab1 educ 

** Parental Education **
tab1 faeduc moeduc 

** R's Own Occupation **
tab1 empstat occ sup orgsize

** Parental Occupation **
//not available


log close

** 11. Keep the identified variables only

keep year country pid sex age birthyr ///
	 nbro nsis nsibs ///
	 educ faeduc moeduc ///
	 empstat occ sup orgsize


** 12. Save the Data File **

saveold /*insert address*/, replace



** 13. Homoginising education **
** Own Education **
rename educ educ_cat

ge educ_yrs=0 if educ_cat==1
replace educ_yrs=0 if educ_cat==2
replace educ_yrs=6 if educ_cat==3
replace educ_yrs=9 if educ_cat==4
replace educ_yrs=9 if educ_cat==5
replace educ_yrs=12 if educ_cat==6
replace educ_yrs=12 if educ_cat==7
replace educ_yrs=12 if educ_cat==8
replace educ_yrs=14 if educ_cat==9
replace educ_yrs=14 if educ_cat==10
replace educ_yrs=15 if educ_cat==11
replace educ_yrs=14 if educ_cat==12
replace educ_yrs=14 if educ_cat==13
replace educ_yrs=14 if educ_cat==14
replace educ_yrs=14 if educ_cat==15
replace educ_yrs=15 if educ_cat==16
lab var educ_yrs "respondent highest education in years"

ge educ_ISCED=020 if educ_cat==1
replace educ_ISCED=020 if educ_cat==2
replace educ_ISCED=100 if educ_cat==3
replace educ_ISCED=200 if educ_cat==4
replace educ_ISCED=200 if educ_cat==5
replace educ_ISCED=340 if educ_cat==6
replace educ_ISCED=350 if educ_cat==7
replace educ_ISCED=350 if educ_cat==8
replace educ_ISCED=300 if educ_cat==9
replace educ_ISCED=500 if educ_cat==10
replace educ_ISCED=500 if educ_cat==11
replace educ_ISCED=500 if educ_cat==12
replace educ_ISCED=500 if educ_cat==13
replace educ_ISCED=500 if educ_cat==14
replace educ_ISCED=500 if educ_cat==15
replace educ_ISCED=500 if educ_cat==16
lab var educ_ISCED "respondent highest education in years"

** Parents Education **
//father's education is actually father's
ge faeduc_flag=1 

rename faeduc faeduc_cat
rename moeduc maeduc_cat

ge faeduc_yrs=0 if faeduc_cat==1
replace faeduc_yrs=0 if faeduc_cat==2
replace faeduc_yrs=6 if faeduc_cat==3
replace faeduc_yrs=9 if faeduc_cat==4
replace faeduc_yrs=9 if faeduc_cat==5
replace faeduc_yrs=12 if faeduc_cat==6
replace faeduc_yrs=12 if faeduc_cat==7
replace faeduc_yrs=12 if faeduc_cat==8
replace faeduc_yrs=14 if faeduc_cat==9
replace faeduc_yrs=14 if faeduc_cat==10
replace faeduc_yrs=15 if faeduc_cat==11
replace faeduc_yrs=14 if faeduc_cat==12
replace faeduc_yrs=14 if faeduc_cat==13
replace faeduc_yrs=14 if faeduc_cat==14
replace faeduc_yrs=14 if faeduc_cat==15
replace faeduc_yrs=14 if faeduc_cat==16
replace faeduc_yrs=15 if faeduc_cat==17
replace faeduc_yrs=12 if faeduc_cat==18
replace faeduc_yrs=16 if faeduc_cat==19
replace faeduc_yrs=19 if faeduc_cat==20
replace faeduc_yrs=22 if faeduc_cat==21
replace faeduc_yrs=. if faeduc_cat==22 | faeduc_cat==97 | faeduc_cat==98
lab var faeduc_yrs "father's education in years"

ge maeduc_yrs=0 if maeduc_cat==1
replace maeduc_yrs=0 if maeduc_cat==2
replace maeduc_yrs=6 if maeduc_cat==3
replace maeduc_yrs=9 if maeduc_cat==4
replace maeduc_yrs=9 if maeduc_cat==5
replace maeduc_yrs=12 if maeduc_cat==6
replace maeduc_yrs=12 if maeduc_cat==7
replace maeduc_yrs=12 if maeduc_cat==8
replace maeduc_yrs=14 if maeduc_cat==9
replace maeduc_yrs=14 if maeduc_cat==10
replace maeduc_yrs=15 if maeduc_cat==11
replace maeduc_yrs=14 if maeduc_cat==12
replace maeduc_yrs=14 if maeduc_cat==13
replace maeduc_yrs=14 if maeduc_cat==14
replace maeduc_yrs=14 if maeduc_cat==15
replace maeduc_yrs=14 if maeduc_cat==16
replace maeduc_yrs=15 if maeduc_cat==17
replace maeduc_yrs=12 if maeduc_cat==18
replace maeduc_yrs=16 if maeduc_cat==19
replace maeduc_yrs=19 if maeduc_cat==20
replace maeduc_yrs=22 if maeduc_cat==21
replace maeduc_yrs=. if maeduc_cat==22 | maeduc_cat==97 | maeduc_cat==98
lab var maeduc_yrs "mother's education in years"

ge faeduc_ISCED=020 if faeduc_cat==1
replace faeduc_ISCED=020 if faeduc_cat==2
replace faeduc_ISCED=100 if faeduc_cat==3
replace faeduc_ISCED=200 if faeduc_cat==4
replace faeduc_ISCED=200 if faeduc_cat==5
replace faeduc_ISCED=340 if faeduc_cat==6
replace faeduc_ISCED=350 if faeduc_cat==7
replace faeduc_ISCED=350 if faeduc_cat==8
replace faeduc_ISCED=300 if faeduc_cat==9
replace faeduc_ISCED=500 if faeduc_cat==10
replace faeduc_ISCED=500 if faeduc_cat==11
replace faeduc_ISCED=500 if faeduc_cat==12
replace faeduc_ISCED=500 if faeduc_cat==13
replace faeduc_ISCED=500 if faeduc_cat==14
replace faeduc_ISCED=500 if faeduc_cat==15
replace faeduc_ISCED=500 if faeduc_cat==16
replace faeduc_ISCED=500 if faeduc_cat==17
replace faeduc_ISCED=500 if faeduc_cat==18
replace faeduc_ISCED=600 if faeduc_cat==19
replace faeduc_ISCED=700 if faeduc_cat==20
replace faeduc_ISCED=800 if faeduc_cat==21
replace faeduc_ISCED=. if faeduc_cat==22 | faeduc_cat==97 | faeduc_cat==98
lab var faeduc_ISCED "father highest education in years"

ge maeduc_ISCED=020 if maeduc_cat==1
replace maeduc_ISCED=020 if maeduc_cat==2
replace maeduc_ISCED=100 if maeduc_cat==3
replace maeduc_ISCED=200 if maeduc_cat==4
replace maeduc_ISCED=200 if maeduc_cat==5
replace maeduc_ISCED=340 if maeduc_cat==6
replace maeduc_ISCED=350 if maeduc_cat==7
replace maeduc_ISCED=350 if maeduc_cat==8
replace maeduc_ISCED=300 if maeduc_cat==9
replace maeduc_ISCED=500 if maeduc_cat==10
replace maeduc_ISCED=500 if maeduc_cat==11
replace maeduc_ISCED=500 if maeduc_cat==12
replace maeduc_ISCED=500 if maeduc_cat==13
replace maeduc_ISCED=500 if maeduc_cat==14
replace maeduc_ISCED=500 if maeduc_cat==15
replace maeduc_ISCED=500 if maeduc_cat==16
replace maeduc_ISCED=500 if maeduc_cat==17
replace maeduc_ISCED=500 if maeduc_cat==18
replace maeduc_ISCED=600 if maeduc_cat==19
replace maeduc_ISCED=700 if maeduc_cat==20
replace maeduc_ISCED=800 if maeduc_cat==21
replace maeduc_ISCED=. if maeduc_cat==22 | maeduc_cat==97 | maeduc_cat==98
lab var maeduc_ISCED "mother highest education in years"


** 14. Homoginising sibling (by Manting Chen, 2017/4/3)**
//cutoff
ge nbro_flag=99
lab var nbro_flag "cutoff of number of brothers"
ge nsis_flag=99
lab var nsis_flag "cutoff of number of sisters"
ge nsibs_flag=99
lab var nsibs_flag "cutoff of total number of siblings"

lab def nsib_flag 99 "no cutoff"
lab val nbro_flag nsis_flag nsibs_flag nsib_flag

//recode missing
replace nbro=. if nbro==196
replace nsis=. if nsis==196
replace nsibs=. if nsibs==392 

** 15. Tab Education and Sibling Variables **
tab1 sex age birthyr
tab1 educ_cat educ_yrs faeduc_cat faeduc_yrs maeduc_cat maeduc_yrs faeduc_flag 
tab1 educ_ISCED faeduc_ISCED maeduc_ISCED
tab1 nbro nsis nsibs nbro_flag nsis_flag nsibs_flag


** 16. Save the Data File **

saveold /*insert your file name*/, replace
